package com.ochnas.volunteersignup.service;

import com.ochnas.volunteersignup.domain.Event;
import com.ochnas.volunteersignup.domain.Position;
import com.ochnas.volunteersignup.domain.TimeSlot;
import com.ochnas.volunteersignup.domain.Volunteer;

public interface VolunteerService {
	
	/*
	findAllFutureEvents
	findAllPositionsByEvent
	findAllFilledPositionsAndTimeSlotsByEvent
	findAllOpenPositionsAndTimeSlotsByEvent
	findDetailedVolunteerInfoByEvent
	registerForEventByTimeSlot
	registerForEventByPosition
	 */

	void findAllFutureEvents(Event e);
	void findAllPositionsByEvent(Position p, Event e);
	void findAllFilledPositionsAndTimeSlotsByEvent(Position p, TimeSlot ts, Event e);
	void findAllOpenPositionsAndTimeSlotsByEvent(Position p, TimeSlot ts, Event e);
	void findDetailedVolunteerInfoByEvent(Volunteer v, Event e);
	void registerForEventByTimeSlot(Event e, TimeSlot ts);
	void registerForEventByPosition(Event e, Position p);
		
}
